package com.ssy.lingxi.common.constant.member;

import com.ssy.lingxi.common.language.LanguageHolder;

/**
 * 会员入库分类 - 发票类型枚举
 * @author 万宁
 * @version 2.0.0
 * @date 2021-12-16
 */
public enum BusinessCategoryInvoiceTypeEnum {
    /**
     * 增值税专用发票 - 1
     */
    VAT(1, "增值税专用发票"),

    /**
     * 普通发票 - 2
     */
    NORMAL(2, "普通发票"),

    /**
     * 机动车专用发票 - 3
     */
    VEHICLE(3, "机动车专用发票"),

    /**
     * 机打发票
     */
    PRINT(4, "机打发票"),

    /**
     * 定额发票
     */
    QUOTA(5, "定额发票");

    BusinessCategoryInvoiceTypeEnum(Integer code, String name) {
        this.code = code;
    }

    private Integer code;

    public Integer getCode() {
        return code;
    }

    public String getName() {
        return LanguageHolder.getName(this.getClass(), this.getCode());
    }

    /**
     * 根据枚举值获得名称
     * @param code 枚举值
     * @return 发票名称
     */
    public static String getNameByCode(Integer code) {
        return LanguageHolder.getName(BusinessCategoryInvoiceTypeEnum.class, code);
    }
}
